// CommandLineHelper Library
// =========================
// License: Microsoft Permissive License (Ms-PL) v1.1
// Author: Rhy Mednick (http://www.rhyverse.net)
// Project Site: http://www.codeplex.com/CommandLineHelper

using System;
using System.Collections.Generic;
using System.Text;

namespace CommandLineHelper.Attributes
{
    /// <summary>
    /// Exposes the validation which verifies that value matches the validation conditions.
    /// </summary>
    public interface IValidation
    {
        /// <summary>
        /// Validates the value against the validation condition.
        /// </summary>
        /// <param name="value">The value to validate.</param>
        /// <returns>True if the value matches the condition and false if it doesn't.</returns>
        bool IsValid(object value);

        /// <summary>
        /// Gets the status message. The status message is set by the code executed during the IsValid() method call.
        /// </summary>
        string StatusMessage { get;}
    }
}
